home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 November / Macworld (1999-11).dmg / Shareware World / Comms & Internet / Ross's PB Scripts 8-99 / PB G3 Internal 56K.txt < prev    next >
Text File  |  1999-08-26  |  16KB  |  793 lines

  1. !  Apple Internal Modem 56k
  2. !    Author:    OIivier Mardinian (based on Kris Kreutzman's and Apple/GV V.90 Scripts)
  3. !    Modified by Ross Barkman
  4. !
  5. !    Copyright:    © 1991-1998 Apple Computer, Inc.    All Rights Reserved.
  6. !
  7. !    revision history:
  8. !        v1.0    6/22/98        Designed for the iMac, Wallstreet and PDQ 
  9. !        28 June 99        Modified to add extra init command, S2=28
  10. !
  11. !  'mlts' resource info for this modem:
  12. !    byte 1 == 01 -> modem HAS built-in error correction protocols
  13. !    byte 2 == 01 -> modem HAS built-in data compression protocols
  14. !    byte 3 == 40 -> max number of chars in varstr 7
  15. !    byte 4 == 40 -> max number of chars in varstr 8
  16. !    byte 5 == 40 -> max number of chars in varstr 9
  17. !    
  18. @ORIGINATE
  19. @ANSWER
  20. ! ---- Initial modem setup ----
  21. ! In originate mode, set serial port speed depending upon the compression flag
  22. ! - A higher rate with compression on (PPP) to handle expanded data from the modem
  23. ! - A lower rate closer to the DCE when compression is off (ARA)
  24. ifstr 5 1 "0"
  25. serreset 115200, 0, 8, 1
  26. jump 2
  27. !
  28. @LABEL 1
  29. serreset 57600, 0, 8, 1
  30. !
  31. @LABEL 2
  32. hsreset 0 0 0 0 0 0
  33. settries 0
  34. !
  35. ! Get the modem's attention
  36. !
  37. matchclr
  38. matchstr 1 3 "OK\13\10"
  39. write "AT\13"
  40. matchread 60
  41. pause 90
  42. !
  43. @LABEL 3
  44. matchclr
  45. matchstr 1 4   "OK\13\10"
  46. matchstr 2 101 "ERROR\13\10"
  47. write "AT&FE0W1Q0V1X4&C1&K3S95=1&D3S7=75S0=0S2=28\13"
  48. ! S2=28 changes the +++ escape sequence, to avoid forced disconnects
  49. !write "AT&FE0Q0V1X4&C1&K3S95=1S7=75S0=0\13"            (modified on 8/31/98)
  50. !write "AT&FE0W2S95=45S0=0&D3S7=60\13"                    (••••• Original GV script)
  51. matchread 90
  52. inctries
  53. iftries 3 101
  54. !
  55. ! Reset the Modem on setup failure
  56. !
  57. DTRClear
  58. pause 5
  59. DTRSet
  60. flush
  61. pause 90
  62. jump 3
  63. !
  64. !
  65. @LABEL 4
  66. ! Modem now responding and configured for full EC/DC functions.
  67. ! Varstring 4 , reliable link protocol:
  68. !    = 0, handled by computer (ARAP)
  69. !    = 1, handled by modem (PPP)
  70. !    = 2, MNP10 protocol (Cellular protocol, no longer supported)
  71. ! If PPP or Cellular mode, jump to 5, otherwise (ARA) disable EC/DC.
  72. ifstr 4 5 "1"
  73. ifstr 4 5 "2"
  74. !
  75. ! Varstring 4 == 0, turn off reliable link protocol in modem (ARAP)
  76. matchclr
  77. matchstr 1 9 "OK\13\10"
  78. write "AT\\N0\13"
  79. matchread 30
  80. jump 101
  81. !
  82. !
  83. @LABEL 5
  84. ! This is where MNP10 (or MNP10EC) could go, if/when we support that.
  85. ! Standard EC/DC is still on.  Decide whether to turn off DC.
  86. ! Varstring 5, compression protocol:
  87. !    = 0, handled by computer 
  88. !    = 1, handled by modem
  89. ifstr 5 9 "1"
  90. !
  91. ! Varstring 5 == 0, turn off compression protocol in modem.
  92. matchclr
  93. matchstr 1 9 "OK\13\10"
  94. write "AT%C0\13"
  95. matchread 30
  96. jump 101
  97. !
  98. !
  99. @LABEL 9
  100. ! If speaker on flag is true, jump to 13.  Otherwise, turn the speaker off.
  101. ! Varstring 2, modem speaker:
  102. !    = 0, speaker off
  103. !    = 1, speaker on
  104. ifstr 2 13 "1"
  105. pause 5
  106. matchclr
  107. matchstr 1 13 "OK\13\10"
  108. write "ATM0\13"
  109. matchread 30
  110. jump 101
  111. !
  112. ! Modem ready, wait for a call or originate a call
  113. !
  114. @LABEL 13
  115. ifANSWER 32
  116. !
  117. !
  118. ! ---- Originating a call ----
  119. ! For normal dialing, jump to 19.  Otherwise, manual dial jumps to 15, blind dial
  120. !    jumps to 17.
  121. ! Varstring 6, dialing mode:
  122. !    = 0, normal dialing
  123. !    = 1, blind dialing
  124. !    = 2, manual dialing
  125. ifstr 6 17 "1"
  126. ifstr 6 15 "2"
  127. jump 19
  128. !
  129. @LABEL 15
  130. ! Display ASK dialog with message.  Goto label 107 if dialog canceled.
  131. ASK 2 "Pick up the phone & dial ^1.  Hit OK when the phone rings, then hangup." 107
  132. note "Manual dialing initiated" 3
  133. ! X1S6=4 to ignore dialtone 4 seconds, & ignore busy, D to dial, \^ generates data tone
  134. !write "ATX1D\^\13"                            (••••• Original Wallstreet script)
  135. write "ATX1S6=4D\13"
  136. jump 32
  137. !
  138. @LABEL 17
  139. note "Dialing without tone" 3
  140. matchclr
  141. matchstr 1 19 "OK\13\10"
  142. ! X1S6=4 to ignore dialtone 4 seconds, & ignore busy for blind dialing.
  143. !write "ATX1\13"                            (••••• Original Wallstreet script)
  144. write "ATX1S6=4\13"
  145. matchread 30
  146. jump 101
  147. !
  148. !
  149. @LABEL 19
  150. ! This is where we break up long dialstrings
  151. ! Display the full dialstring contained in Varstring 1
  152. note "Dialing ^1" 3
  153. !
  154. ! Varstrings 7, 8 and 9, contain dialstring fragments
  155. !    Long phone numbers may have been split into smaller groups
  156. !    so that the modem can use them
  157. ! Check to see whether these fragments exist.  If they do, dial them one at a time.
  158. ! If not, jump ahead and dial the remaining phone number.  Use the data tone.
  159. ! Varstring 3:  "p" for pulse & "t" for tone dialing
  160. ! Varstring 8 == blank (dialstring in varstring 7)
  161. ! Varstring 9 == blank (dialstring in varstrings 7 & 8)
  162. ! Otherwise (dialstring in varstrings 7, 8 & 9)
  163. ! \^ is added to the dialstring to force the modem to generate a data tone
  164. ifstr 8 27 " "
  165. ifstr 9 24 " "
  166. !
  167. !  Write dialstring in varstrings 7, 8 & 9
  168. matchclr
  169. matchstr 1 21 "OK\13\10"
  170. write "ATD^3^7;\13"
  171. matchread 400
  172. jump 101
  173. @LABEL 21
  174. matchclr
  175. matchstr 1 22 "OK\13\10"
  176. write "ATD^3^8;\13"
  177. matchread 400
  178. jump 101
  179. @LABEL 22
  180. write "ATD^3^9\13"
  181. jump 32
  182. !
  183. !
  184. @LABEL 24
  185. !  Write dialstring in varstrings 7 & 8
  186. matchclr
  187. matchstr 1 25 "OK\13\10"
  188. write "ATD^3^7;\13"
  189. matchread 400
  190. jump 101
  191. @LABEL 25
  192. write "ATD^3^8\13"
  193. jump 32
  194. !
  195. @LABEL 27
  196. !  Write dialstring in varstring 7
  197. write "ATD^3^7\13"
  198. !
  199. !
  200. !    ---- Connection response ----
  201. !
  202. ! The following section will parse modem responses of five types:
  203. !   1) PROTOCOL: xxx, COMPRESSION: xxx, CONNECT xxx
  204. !   2) CONNECT xxx/ARQ/V42
  205. !   3) Standard incoming and outgoing call progress messages
  206. !   4) FAX/DATA discrimination messages
  207. !   5) International DELAYED & BLACKLISTED restrictions.
  208. !
  209. @LABEL 32
  210. matchclr
  211. matchstr  1 88  "RING\13\10"
  212. matchstr  2 102 "NO DIALTONE\13\10"
  213. matchstr  3 103 "NO CARRIER"
  214. matchstr  4 103 "ERROR\13\10"
  215. matchstr  5 104 "BUSY\13\10"
  216. matchstr  6 105 "NO ANSWER\13\10"
  217. matchstr  7 33  "CONNECT "
  218. matchstr  8 32  "CARRIER"
  219. matchstr  9 40  "CONNECT\13\10"
  220. matchstr 10 82  "PROTOCOL: LAP"
  221. matchstr 11 82  "PROTOCOL: MNP"
  222. matchstr 12 82  "PROTOCOL: ALT"
  223. matchstr 13 84  "COMPRESSION: V"
  224. matchstr 14 84  "COMPRESSION: MNP5"
  225. matchstr 15 84  "COMPRESSION: CLASS"
  226. matchstr 16 110  "DELAYED  "
  227. matchstr 17 111  "BLACKLISTED\13\10"
  228. matchread 700
  229. ifANSWER 32
  230. jump 101
  231. !
  232. @LABEL 33
  233. matchclr
  234.  
  235. matchstr  1 39 "2400\13"
  236. matchstr  2 39 "2400/"
  237. matchstr  3 40 "4800\13"
  238. matchstr  4 40 "4800/"
  239. matchstr  5 41 "7200"
  240. matchstr  6 42 "9600"
  241. matchstr  7 43 "12000"
  242. matchstr  8 44 "14400"
  243. matchstr  9 45 "16800"
  244. matchstr 10 46 "19200"
  245. matchstr 11 47 "21600"
  246. matchstr 12 48 "24000"
  247. matchstr 13 49 "26400"
  248. matchstr 14 50 "28800"
  249. matchstr 15 51 "29333"
  250. matchstr 16 52 "30667"
  251. matchstr 17 53 "31200"
  252. matchstr 18 54 "32000"
  253. matchstr 19 55 "33333"
  254. matchstr 20 56 "33600"
  255. matchstr 21 57 "34000"
  256. matchstr 22 58 "34667"
  257. matchstr 23 59 "36000"
  258. matchstr 24 60 "37333"
  259. matchstr 25 61 "38000"
  260. matchstr 26 62 "38667"
  261. matchstr 27 63 "40000"
  262. matchstr 28 64 "41333"
  263. matchstr 29 65 "42000"
  264. matchstr 30 66 "42667"
  265. matchstr 31 67 "44000"
  266. matchstr 32 68 "45333"
  267. matchstr 33 69 "46000"
  268. matchstr 34 70 "46667"
  269. matchstr 35 71 "48000"
  270. matchstr 36 72 "49333"
  271. matchstr 37 73 "50000"
  272. matchstr 38 74 "50667"
  273. matchstr 39 75 "52000"
  274. matchstr 40 76 "53333"
  275. matchstr 41 77 "54000"
  276. matchstr 42 78 "54667"
  277. matchstr 43 79 "56000"
  278. matchread 30
  279. jump 80
  280. !
  281. ! -- Connection rates --
  282. ! CommunicatingAt informs ARA of the raw modem to modem
  283. ! connection speed.
  284. !
  285. @LABEL 39
  286. note "Communicating at 2400 bps." 2
  287. CommunicatingAt 2400
  288. jump 81
  289. !
  290. @LABEL 40
  291. note "Communicating at 4800 bps." 2
  292. CommunicatingAt 4800
  293. jump 81
  294. !
  295. @LABEL 41
  296. note "Communicating at 7200 bps." 2
  297. CommunicatingAt 7200
  298. jump 81
  299. !
  300. @LABEL 42
  301. note "Communicating at 9600 bps." 2
  302. CommunicatingAt 9600
  303. jump 81
  304. !
  305. @LABEL 43
  306. note "Communicating at 12400 bps." 2
  307. CommunicatingAt 12400
  308. jump 81
  309. !
  310. @LABEL 44
  311. note "Communicating at 14400 bps." 2
  312. CommunicatingAt 14400
  313. jump 81
  314. !
  315. @LABEL 45
  316. note "Communicating at 16800 bps." 2
  317. CommunicatingAt 16800
  318. jump 81
  319. !
  320. @LABEL 46
  321. note "Communicating at 19200 bps." 2
  322. CommunicatingAt 19200
  323. jump 81
  324. !
  325. @LABEL 47
  326. note "Communicating at 21600 bps." 2
  327. CommunicatingAt 21600
  328. jump 81
  329. !
  330. @LABEL 48
  331. note "Communicating at 24000 bps." 2
  332. CommunicatingAt 24000
  333. jump 81
  334. !
  335. @LABEL 49
  336. note "Communicating at 26400 bps." 2
  337. CommunicatingAt 26400
  338. jump 81
  339. !
  340. @LABEL 50
  341. note "Communicating at 28800 bps." 2
  342. CommunicatingAt 28800
  343. jump 81
  344. !
  345. @LABEL 51
  346. note "Communicating at 29333 bps." 2
  347. CommunicatingAt 29333
  348. jump 81
  349. !
  350. @LABEL 52
  351. note "Communicating at 30667 bps." 2
  352. CommunicatingAt 30667
  353. jump 81
  354. !
  355. @LABEL 53
  356. note "Communicating at 31200 bps." 2
  357. CommunicatingAt 31200
  358. jump 81
  359. !
  360. @LABEL 54
  361. note "Communicating at 32000 bps." 2
  362. CommunicatingAt 32000
  363. jump 81
  364. !
  365. @LABEL 55
  366. note "Communicating at 33333 bps." 2
  367. CommunicatingAt 33333
  368. jump 81
  369. !
  370. @LABEL 56
  371. note "Communicating at 33600 bps." 2
  372. CommunicatingAt 33600
  373. jump 81
  374. !
  375. @LABEL 57
  376. note "Communicating at 34000 bps." 2
  377. CommunicatingAt 34000
  378. jump 81
  379. !
  380. @LABEL 58
  381. note "Communicating at 34667 bps." 2
  382. CommunicatingAt 34667
  383. jump 81
  384. !
  385. @LABEL 59
  386. note "Communicating at 36000 bps." 2
  387. CommunicatingAt 36000
  388. jump 81
  389. !
  390. @LABEL 60
  391. note "Communicating at 37333 bps." 2
  392. CommunicatingAt 37333
  393. jump 81
  394. !
  395. @LABEL 61
  396. note "Communicating at 38000 bps." 2
  397. CommunicatingAt 38000
  398. jump 81
  399. !
  400. @LABEL 62
  401. note "Communicating at 38667 bps." 2
  402. CommunicatingAt 38667
  403. jump 81
  404. !
  405. @LABEL 63
  406. note "Communicating at 40000 bps." 2
  407. CommunicatingAt 40000
  408. jump 81
  409. !
  410. @LABEL 64
  411. note "Communicating at 41333 bps." 2
  412. CommunicatingAt 41333
  413. jump 81
  414. !
  415. @LABEL 65
  416. note "Communicating at 42000 bps." 2
  417. CommunicatingAt 42000
  418. jump 81
  419. !
  420. @LABEL 66
  421. note "Communicating at 42667 bps." 2
  422. CommunicatingAt 42667
  423. jump 81
  424. !
  425. @LABEL 67
  426. note "Communicating at 44000 bps." 2
  427. CommunicatingAt 44000
  428. jump 81
  429. !
  430. @LABEL 68
  431. note "Communicating at 45333 bps." 2
  432. CommunicatingAt 45333
  433. jump 81
  434. !
  435. @LABEL 69
  436. note "Communicating at 46000 bps." 2
  437. CommunicatingAt 46000
  438. jump 81
  439. !
  440. @LABEL 70
  441. note "Communicating at 46667 bps." 2
  442. CommunicatingAt 46667
  443. jump 81
  444. !
  445. @LABEL 71
  446. note "Communicating at 48000 bps." 2
  447. CommunicatingAt 48000
  448. jump 81
  449. !
  450. @LABEL 72
  451. note "Communicating at 49333 bps." 2
  452. CommunicatingAt 49333
  453. jump 81
  454. !
  455. @LABEL 73
  456. note "Communicating at 50000 bps." 2
  457. CommunicatingAt 50000
  458. jump 81
  459. !
  460. @LABEL 74
  461. note "Communicating at 50667 bps." 2
  462. CommunicatingAt 50667
  463. jump 81
  464. !
  465. @LABEL 75
  466. note "Communicating at 52000 bps." 2
  467. CommunicatingAt 52000
  468. jump 81
  469. !
  470. @LABEL 76
  471. note "Communicating at 53333 bps." 2
  472. CommunicatingAt 53333
  473. jump 81
  474. !
  475. @LABEL 77
  476. note "Communicating at 54000 bps." 2
  477. CommunicatingAt 54000
  478. jump 81
  479. !
  480. @LABEL 78
  481. note "Communicating at 54667 bps." 2
  482. CommunicatingAt 54667
  483. jump 81
  484. !
  485. @LABEL 79
  486. note "Communicating at 56000 bps." 2
  487. CommunicatingAt 56000
  488. jump 81
  489. !
  490. @LABEL 80
  491. note "Communicating at an unknown rate." 2
  492. jump 81
  493. !
  494. ! Look for reliablilty and compression results 
  495. ! at the end of the connect result.
  496. !
  497. @LABEL 81
  498. matchclr
  499. matchstr  1 83 "LAPM"
  500. matchstr  2 83 "REL"
  501. matchstr  3 83 "ARQ"
  502. matchstr  4 85 "COMP/"
  503. matchstr  5 85 "COMP\13"
  504. matchstr  6 83 "V42/"
  505. matchstr  7 83 "V42\13"
  506. matchstr  8 85 "V42BIS"
  507. matchstr  9 85 "V42bis"
  508. matchstr 10 83 "MNP\13"
  509. matchstr 11 85 "MNP5"
  510. matchstr 12 86 "\10"
  511. matchread 30
  512. jump 86
  513. ! -- Modem error correction link negotiation --
  514. ! Userhook 2 informs ARA that a modem-to-modem error
  515. ! correcting protocol has been negotiated
  516. !
  517. !
  518. @LABEL 82
  519. note "Modem Reliable Link Established." 2
  520. userhook 2
  521. jump 32
  522. !
  523. @LABEL 83
  524. note "Modem Reliable Link Established." 2
  525. userhook 2
  526. jump 81
  527. !
  528. ! -- Compression negotiation --
  529. ! Userhook 3 informs ARA that a modem-to-modem compression
  530. ! protocol has been negotiated
  531. !
  532. @LABEL 84
  533. note "Modem Compression Established." 2
  534. userhook 3
  535. jump 32
  536. !
  537. @LABEL 85
  538. note "Modem Compression Established." 2
  539. userhook 3
  540. jump 81
  541. !
  542. !
  543. ! -- Normal exit after "CONNECT" --
  544. !
  545. !  This modem has been setup to do CTS handshaking,
  546. !  and we assume that a CTS handshaking cable is being used.
  547. !
  548. @LABEL 86
  549. ! Turn on CTS handshaking.
  550. HSReset 0 1 0 0 0 0
  551. !
  552. ifANSWER 87
  553. pause 30
  554. @LABEL 87
  555. exit 0
  556. !
  557. !
  558. ! ---- Answer calls ----
  559. !
  560. ! A RING results from the modem in ANSWERING mode
  561. ! claims the serial port and answering the phone
  562. !
  563. @LABEL 88
  564. ifORIGINATE 32
  565. userhook 1
  566. note "Answering phone..." 2
  567. write "ATA\13"
  568. jump 32
  569. !  
  570. ! ---- Hang up and reset modem ----
  571. !
  572. @HANGUP 
  573. @LABEL 90 
  574. settries 0
  575. HSReset 0 0 0 0 0 0
  576. !
  577. @LABEL 91
  578. ! Try to get control of the modem
  579. !pause 1
  580. !write "+++"
  581. !pause 1 
  582. !matchclr
  583. !matchstr 1 96 "OK\13\10"
  584. !pause 15
  585. !write "AT\13"
  586. !matchread 30
  587. !
  588. @LABEL 94
  589. ! Force a hangup                            (••••• Different from Original Wallstreet script)
  590. matchclr
  591. matchstr 1 98 "NO CARRIER\13\10"
  592. matchstr 2 98 "OK\13\10"
  593. matchstr 3 98 "ERROR\13\10"
  594. matchstr 4 98 "0\13\10"
  595. matchstr 5 98 "DELAYED"
  596. matchstr 6 98 "BLACKLISTED"
  597. write "\28\28\28ATH\13"
  598. ! \28 = FS, the replacement escape character
  599. matchread 30
  600. ! Try again to get control of the modem by toggling DTR
  601. !
  602. @LABEL 95
  603. DTRClear
  604. Pause 2
  605. DTRSet
  606. flush
  607. !
  608. !
  609. ! Try the hangup sequence three times otherwise declare an error
  610. inctries
  611. iftries 3 101
  612. jump 91
  613. !
  614. @LABEL 96
  615. !
  616. ! Pause between data and command mode
  617. !
  618. pause 50
  619. jump 94
  620. !
  621. !
  622. @LABEL 97
  623. ! AT&F resulted in Error, try again using AT&F
  624. pause 15
  625. matchclr
  626. matchstr 1 99 "OK\13\10"
  627. write "AT&F\13"
  628. matchread 30
  629. jump 101
  630. !
  631. @LABEL 98
  632. ! Got control of the modem.  Recall the factory settings.  If it fails, jump 97.
  633. pause 15
  634. matchclr
  635. matchstr 1 99 "OK\13\10"
  636. matchstr 2 97 "ERROR\13\10"
  637. write "AT&F\13"
  638. matchread 30
  639. jump 101
  640. !
  641. @LABEL 99
  642. exit 0
  643. !
  644. ! ---- Error messages -----
  645. !
  646. ! Modem Not Responding
  647. @LABEL 101
  648. write "AT&F\13"
  649. pause 10
  650. exit -6019
  651. !
  652. ! No Dial Tone
  653. @LABEL 102
  654. matchstr 1 121 "OK\13\10"
  655. write "AT&F\13"
  656. matchread 30
  657. @LABEL 121
  658. exit -6020
  659. !
  660. ! No Carrier or Error
  661. @LABEL 103
  662. matchstr 1 122 "OK\13\10"
  663. write "AT&F\13"
  664. matchread 30
  665. @LABEL 122
  666. exit -6021
  667. !
  668. ! Busy
  669. @LABEL 104
  670. matchstr 1 123 "OK\13\10"
  671. write "AT&F\13"
  672. matchread 30
  673. @LABEL 123
  674. exit -6022
  675. !
  676. ! No Answer
  677. @LABEL 105
  678. matchstr 1 124 "OK\13\10"
  679. write "AT&F\13"
  680. matchread 30
  681. @LABEL 124
  682. exit -6023
  683. !
  684. ! User Cancellation
  685. @LABEL 107
  686. matchstr 1 108 "OK\13\10"
  687. write "AT&F\13"
  688. matchread 30
  689. @LABEL 108
  690. exit -6008
  691. !
  692. ! ---- DELAYED and BLACKLISTED functions ----
  693. @LABEL 110
  694. matchclr
  695. matchstr  1 119 "00:00:0"
  696. matchstr  2 118 "00:00:1"
  697. matchstr  3 117 "00:00:2"
  698. matchstr  4 116 "00:00:3"
  699. matchstr  5 115 "00:00:4"
  700. matchstr  6 114 "00:00:5"
  701. matchstr  7 113 "00:01:"
  702. matchstr  8 112 "00:02:"
  703. matchread 30
  704. ! (modified on 10/5/98) - Added the display in case delayed for more than 3 minutes exit with User Cancellation
  705. note "'DELAYED'. For more than 3 minutes."
  706. pause 20
  707. exit -6008
  708. !
  709. !The number is 'DELAYED' more than 3 minutes.  Exit the script telling the user to wait or reset his modem.
  710. !exit -6019 "\13The modem responds 'DELAYED':\13(Cannot redial this number right now.)\13To try again immediately, turn modem OFF and ON before proceeding."
  711. @LABEL 111
  712. !
  713. ! (modified on 10/5/98) - Added the display of the right string and exit with User Cancellation
  714. note "'BLACKLISTED'."
  715. pause 20
  716. exit -6008
  717. !
  718. !The number is 'BLACKLISTED'.  Exit the script, telling the user to reset his modem.
  719. !exit -6019 "\13The modem responds 'BLACKLISTED':\13(Cannot redial this number again.)\13Double-check the number, then turn your modem OFF and ON before proceeding."
  720. !
  721. @LABEL 112
  722. note "'DELAYED'. Redialing in 3 minutes..."
  723. pause 600
  724. @LABEL 113
  725. note "'DELAYED'. Redialing in 2 minutes..."
  726. pause 600
  727. @LABEL 114
  728. note "'DELAYED'. Redialing in 1 minute... "
  729. pause 100
  730. @LABEL 115
  731. note "'DELAYED'. Redialing in 50 seconds..."
  732. pause 100
  733. @LABEL 116
  734. note "'DELAYED'. Redialing in 40 seconds..."
  735. pause 100
  736. @LABEL 117
  737. note "'DELAYED'. Redialing in 30 seconds..."
  738. pause 100
  739. @LABEL 118
  740. note "'DELAYED'. Redialing in 20 seconds..."
  741. pause 100
  742. @LABEL 119
  743. note "'DELAYED'. Redialing in 10 seconds..."
  744. pause 100
  745. jump 1
  746. ! Labels 121-128 are reserved for emergency hacks.
  747. !
  748.